package org.example.lang;

import org.example.domain.BaseCodeEnum;
import org.example.domain.ICodeEnum;
import lombok.Getter;

/**
 * @author: sql
 * @date: 2024/6/7
 * @Description: 断言消息封装
 * @version: 1.0
 */
@Getter
public class ErrMsg implements Msg {

    private String code;
    private String msg;
    private Object extend;

    public ErrMsg(String code, String msg) {
        this.code = code;
        this.msg = msg;
    }

    public static ErrMsg of(String errMsg) {
        BaseCodeEnum baseCode = BaseCodeEnum.SERVICE_EXCEPTION;
        return new ErrMsg(baseCode.getCode(), errMsg);
    }

    public static ErrMsg of(ICodeEnum errorCodeEnum) {
        return new ErrMsg(errorCodeEnum.getCode(), errorCodeEnum.getMsg());
    }

}
